Computers may include software tools that run on the computers and perform desired functions. For example, computers may include software tools that provide programming environments. The programming tools enable users to create programs that can be executed on the computers to perform specific functions designed by the users. The programming tools may provide textual and graphical environments for generating the programs. MATLAB® and Simulink®, both from The MathWorks Inc. of Natick, Mass., are exemplary software tools that provide textual and graphical programming environments, respectively. MATLAB® integrates mathematical computing, visualization, and a powerful language to provide a flexible environment for technical computing. Simulink® enables users to design a block diagram for a target system, simulate the system's behavior, analyze the performance of the system, and refine the design of the system. Computers may also include software tools that provide other functions, such as reading/writing data from/to external devices. MATLAB® Toolboxes, from The MathWorks Inc. of Natick, Mass., provide exemplary software tools that enable the computers to perform a plurality of functions, including interfacing with the external devices.
The fields of Test & Measurement and Industrial Automation often involve interfacing with hardware devices, such as external devices, in the form of instruments or other devices from which data is imported into the software environment. Historically, because of a wide variety of instruments and protocols for communication for hardware devices, establishing and maintaining an interface to many types of hardware devices has resulted in an inordinate amount of effort on the part of the user and/or very limited interface capabilities available to the user. Oftentimes, even if an interface to one hardware device is established, difficulties can arise in establishing additional interfaces or organizing several interfaces for the many hardware devices that may be accessible to a computer.